package com.aterrizar.dominio.MongoDB.servicios;

import java.util.ArrayList;
import java.util.List;

import net.vz.mongodb.jackson.ObjectId;

import org.codehaus.jackson.annotate.JsonProperty;

public class UsuarioMongo {
	@ObjectId
	@JsonProperty("_id")
	private String idMongo;
	
	private Integer idUsuario;
	private List<Destino> destinos;
	
	public UsuarioMongo() {
	}
	
	public UsuarioMongo(Integer idUsuaInteger){
		this.setIdUsuario(idUsuaInteger);
		this.setDestinos(new ArrayList<Destino>());
	}


	public Integer getIdUsuario() {
		return idUsuario;
	}


	public void setIdUsuario(Integer idUsuario) {
		this.idUsuario = idUsuario;
	}


	public List<Destino> getDestinos() {
		return destinos;
	}


	public void setDestinos(List<Destino> destinos) {
		this.destinos = destinos;
	}
	
	public void agregarDestino(Destino destino){
		this.getDestinos().add(destino);		
	}
	
	public void agregarComentarioADestino(Destino destino, Comentario comentario){
		for(Destino d : this.getDestinos()){
			if (d.getNombre().equals(destino.getNombre())){
				d.getComentarios().add(comentario);
			} 
		}
	}


	public List<Comentario> obtenerComentarios(Destino destino) {
		for (Destino d : this.getDestinos()){
			if(d.getNombre().equals(destino.getNombre())){
				return d.getComentarios();
			}
		}
		return null;
	}


	public String getIdMongo() {
		return idMongo;
	}


	public void setIdMongo(String idMongo) {
		this.idMongo = idMongo;
	}

	public List<Comentario> getComentariosAmigos(boolean soyAmigo) {
		List<Comentario> lista = new ArrayList<Comentario>();
		for(Destino d : this.getDestinos()){
			lista.addAll(d.getComentariosAmigos(soyAmigo));
			
		}
		
		return lista;
	}
	
	
}
